# 2.求出每个平台总的销售业绩，排名前五名，画柱形图

import pandas as pd
import numpy as np
from matplotlib import pyplot as plt


def top5Performance(data: pd.DataFrame):
    # 设置绘图风格
    plt.style.use("ggplot")

    # 设置中文编码和符号的正常显示
    plt.rcParams['font.family'] = 'sans-serif'
    plt.rcParams['font.sans-serif'] = ['SimHei', 'Arial Unicode MS']
    plt.rcParams["axes.unicode_minus"] = False

    data.drop_duplicates(inplace=True)
    Platform_data = data.groupby(by=['Platform'])['Global_Sales'].sum()
    Platform_data.sort_values(inplace=True, ascending=False)
    Platform_data_5 = Platform_data.head(5)

    # 设置图框的大小
    fig = plt.figure(figsize=(10, 6))
    # 绘图
    plt.bar(x=Platform_data_5.index, height=Platform_data_5.values, width=0.8)
    # 添加标题和坐标轴标签
    plt.title('求出每个平台总的销售业绩，排名前五名')
    plt.xlabel('平台')
    plt.ylabel('每个平台总的销售业绩')

    # 剔除图框上边界和右边界的刻度
    plt.tick_params(top='off', right='off')

    # 为了避免x轴日期刻度标签的重叠，设置x轴刻度自动展现，并且45度倾斜
    fig.autofmt_xdate(rotation=45, ha='center')

    # 显示图形
    plt.show()
    plt.savefig('./img/topic_2.jpg')
